package com.ktgj.hotel.service;

import java.util.List;
import com.ktgj.hotel.domain.HotelRoom;
import com.ktgj.hotel.domain.HotelRoomPrice;
import com.ktgj.hotel.domain.common.HotelInfo;
import com.ktgj.hotel.domain.common.Hotels;

import javax.servlet.http.HttpServletRequest;

/**
 * 酒店房型信息Service接口
 * 
 * @author ruoyi
 * @date 2022-08-25
 */
public interface IHotelRoomService 
{
    /**
     * 查询酒店房型信息
     * 
     * @param roomId 酒店房型信息ID
     * @return 酒店房型信息
     */
    public HotelRoom selectHotelRoomById(Long roomId);

    /**
     * 查询酒店房型信息列表
     * 
     * @param hotelRoom 酒店房型信息
     * @return 酒店房型信息集合
     */
    public List<HotelRoom> selectHotelRoomList(HotelRoom hotelRoom);

    /**
     * 新增酒店房型信息
     * 
     * @param hotelRoom 酒店房型信息
     * @return 结果
     */
    public int insertHotelRoom(HotelRoom hotelRoom);

    /**
     * 修改酒店房型信息
     * 
     * @param hotelRoom 酒店房型信息
     * @return 结果
     */
    public int updateHotelRoom(HotelRoom hotelRoom);

    /**
     * 批量删除酒店房型信息
     * 
     * @param roomIds 需要删除的酒店房型信息ID
     * @return 结果
     */
    public int deleteHotelRoomByIds(Long[] roomIds);

    /**
     * 删除酒店房型信息信息
     * 
     * @param roomId 酒店房型信息ID
     * @return 结果
     */
    public int deleteHotelRoomById(Long roomId);

    /**
     * 新增酒店信息
     * */
    public int insertHotel(HttpServletRequest request, Hotels hotels) throws Exception;

    /**
     * 查询待修改的酒店信息
     * */
    public Hotels hotelDetails(String type, Long id);

    /**
     * 修改酒店信息
     * */
    public int updateHotel(Hotels hotels) throws Exception;

    /**
     * 酒店详情
     * */
    public HotelInfo hotelInfoDetails(Long id);

    /**
     * 酒店房型列表
     * */
    public List<HotelRoom> selHotelRoom(Long id);

    /**
     * 酒店房型价格列表
     * */
    public List<HotelRoomPrice> roomPrice(Long id);
}
